home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / util / misc / ispell31.lha / ispell-3.1.18src / README < prev    next >
Text File  |  1995-01-23  |  17KB  |  361 lines

  1.     This is ispell version 3.1, an interactive spelling checker.
  2.  
  3. Contents of this README file:
  4.  
  5.     What Is Ispell and Why Do I Want It?
  6.     What's New in This Version?
  7.     Where Can I Get Ispell?
  8.     OK, How Do I Install It?
  9.     Who Wrote Ispell?
  10.     Where Do I Send Bug Reports?
  11.     Where Do I Get Dictionaries?
  12.     How Long Does It Take to Make Dictionaries?
  13.     Special Installation Notes for Certain Machines:
  14.     What About Ispell for MS-DOS?
  15.  
  16. ------------------------------------------------------------------------
  17.  
  18. What Is Ispell and Why Do I Want It?
  19.  
  20.     Ispell is a fast screen-oriented spelling checker that shows you
  21.     your errors in the context of the original file, and suggests possible
  22.     corrections when it can figure them out.  Compared to UNIX spell, it
  23.     is faster and much easier to use.  Ispell can also handle languages
  24.     other than English.
  25.     
  26. What's New in This Version?
  27.  
  28.     Compared to ispell versions 2 and 4.0 (the latter was the
  29.     short-lived Gnu version), ispell 3.1 contains many new features,
  30.     notably TeX support, international language support, and handling
  31.     of prefixes as well as suffixes.  Compared to ispell version 3.0,
  32.     ispell 3.1 has many bug fixes, a number of minor improvements, and
  33.     vastly improved support for multiple languages.
  34.  
  35.     The only truly important difference between 3.0 and 3.1 is in the
  36.     format of the "defstringtype" and "altstringtype" statements,
  37.     which now require a deformatter argument.  Existing affix files
  38.     will have to be converted.  See ispell.4 for documentation, or
  39.     deutsch.aff for an extended example.  The conversion is very easy
  40.     to do.  All affix files distributed with ispell have already been
  41.     converted.
  42.  
  43.     The complete list of bug fixes and improvements is too long to
  44.     include here (and besides, I'm too overworked to create it).
  45.     However, users of ispell 2.0 and ispell 4.0 should note that the
  46.     "x" and "q" commands have been interchanged.
  47.  
  48. Where Can I Get Ispell?
  49.  
  50.     The current version of ispell is available for anonymous ftp from
  51.     ftp.cs.ucla.edu (131.179.128.34) or ftp.math.orst.edu
  52.     (128.193.80.160), in the pub/ispell-3.1 directory.  The latest
  53.     version is always named "ispell-3.1.xx.tar.gz", where "xx" is
  54.     the patch level.  There are also sometimes files named
  55.     "README-patchxx" which contain notes specific to a given version.
  56.     Announcements of patches to ispell will be posted to comp.text.tex
  57.     and gnu.emacs.help.
  58.  
  59.     A number of ftp mirror sites also store ispell.  Check Archie for
  60.     "ispell-3.1" to find a site near you.
  61.     
  62.     Ispell comes with English dictionaries.  For other languages,
  63.     check the "Where" and "README" files in the "languages"
  64.     subdirectory for hints on where to find dictionaries and how to
  65.     install them.
  66.  
  67. OK, How Do I Install It?
  68.  
  69.     Ispell is quite portable (thanks to many people).  If you speak
  70.     American English and have a BSD-like system, you may be able to
  71.     get away with simply typing "make all" to finish unpacking
  72.     the kit and make ispell and a dictionary, all configured to be
  73.     installed in /usr/local/*.  If you have a USG (System V) system,
  74.     you will at least have to copy "local.h.samp" to "local.h", then
  75.     add "#define USG" to local.h before compiling.  Be sure you have
  76.     at least 10 MB of free space in /tmp, or set your TMPDIR
  77.     environment variable to point somewhere with that much space.
  78.  
  79.     For more complex installations, you will have to create a fancier
  80.     local.h file.  All customization of ispell 3.1, even for the
  81.     Makefile, is done by creating or editing the file "local.h" to
  82.     override the default definitions of certain variables.  The most
  83.     common changes will be to the LANGUAGES variable (to set the
  84.     languages; see also the Makefiles in the various language
  85.     subdirectories), CC (to choose gcc), and BINDIR through MAN4DIR
  86.     (to control where ispell is installed).  There are many other
  87.     configuration parameters; see config.X for the complete list and
  88.     further instructions.  *DO NOT* make changes to config.X or to any
  89.     of the Makefiles.  Anything you define in "local.h" will override
  90.     definitions in those files.
  91.  
  92.     The English-language dictionary comes in four sizes: small,
  93.     medium, large, and extra-large.  I recommend using the medium
  94.     dictionary unless you are very short on space.  The small and
  95.     medium dictionaries have been hand-checked against a paper
  96.     dictionary to improve their accuracy.  This is not true of the two
  97.     larger ones.  The large and extra-large dictionaries contain
  98.     less-frequently-used words, and most sites will not want to pay
  99.     the price of storing them, especially because they may contain
  100.     errors.  Also, a large dictionary can hide misspellings of short
  101.     words because there is some similar word that nobody uses.  (For
  102.     example, the crossword-puzzle favorite "ort" can hide misspellings
  103.     of "or".)
  104.  
  105.     For each dictionary size, you can also choose to make a "plus"
  106.     version, named by adding a plus sign to the size indication.
  107.     These versions are created by incorporating a dictionary file of
  108.     your own, usually /usr/dict/words.  (I can't distribute a
  109.     dictionary based on that file because it's copyrighted.)  Making a
  110.     plus version requires extra time and disk space, but will give you
  111.     some computer and technical terms that aren't in the basic ispell
  112.     word list.  That's why the default dictionary is
  113.     "americanmed+.hash".
  114.  
  115.     After all edits, you are ready to compile ispell.  Make sure you
  116.     have set your TMPDIR environment variable, and then type
  117.     "make all".  This will compile all the programs, put the
  118.     dictionaries together, and build the hash file.  If you get errors
  119.     while compiling term.c, change the setting of "#define USG" in
  120.     your local.h file and try again.
  121.  
  122.     If you chose a "+" version of the dictionary (the LANGUAGES macro
  123.     in config.X), expect this first make to run for quite a while
  124.     (usually about half an hour, but as much as 24 hours on a very
  125.     limited machine) because of the munchlist step.  If you chose a
  126.     non-plus version, the make will not take long.  The munchlist step
  127.     will also take a *lot* of disk space (see the table below for more
  128.     information), so be sure to set TMPDIR in your environment to
  129.     point to someplace with lots of room.
  130.  
  131.     After your first make completes, you are ready to install ispell.
  132.     The standard "make install" will install ispell, the auxiliary
  133.     programs and scripts, the manual page, and the dictionary hash
  134.     file, all in the directories you have chosen for them.  This
  135.     usually has to be done as root, and on some systems you will not
  136.     be able to redirect the output to a file.  (If you're the careful
  137.     sort, you'll check the output of "make -n install" first to be
  138.     sure there are no hidden surprises.)  If you don't want to install
  139.     the dictionary-building tools, you can type "make partial-install"
  140.     to install just the files needed to use ispell itself.
  141.  
  142.     If you have emacs, note that the installation process does not
  143.     modify the top-level Info menu to include ispell; you must do this
  144.     by hand if you want ispell to appear in the top-level menu.  The
  145.     installation process may clobber emacs-related files from ispell
  146.     4.0.  If you don't consider this a feature, you should preserve
  147.     them first.  Also, if you have emacs you can ignore the warnings
  148.     issued when ispell.el is byte-compiled.  Finally, ispell.el
  149.     contains some platform-dependent stuff, such as path names and
  150.     egrep switches.  This is a bug that will be cleaned up someday.
  151.  
  152.     As well as the standard "make clean" and "make realclean" targets,
  153.     there is also a "make dictclean" target which will get rid of
  154.     constructed dictionary files such as "english.med+".  This is a
  155.     separate target because of the time it takes to build
  156.     dictionaries.
  157.  
  158.     Finally, there is a directory named "addons", which contains shar
  159.     kits for ispell helper programs that were generously written by
  160.     other people.  These are not copyrighted or supported by the
  161.     ispell maintainer.  Contact the original authors (listed in README
  162.     files in the kits) for more information.
  163.  
  164. Who Wrote Ispell?
  165.  
  166.     Ispell is a very old program.  The original was written in PDP-10
  167.     assembly in 1971, by R. E. Gorin.  The C version was written by
  168.     Pace Willisson of MIT.  Walt Buehring of Texas Instruments added
  169.     the emacs interface and posted it to the net.  Geoff Kuenning
  170.     added the international support and created the current posting.
  171.     Many, many other people contributed to the current version; a
  172.     complete list (with a much more detailed history) can be found in
  173.     the file "Contributors".
  174.  
  175. Where Do I Send Bug Reports?
  176.  
  177.     Most ispell bug reports, except bugs related to the emacs-lisp
  178.     interface, should be sent to "ispell-bugs@itcorp.com".  Bugs in
  179.     the emacs interface (ispell.el) should be sent to
  180.     "ispell-el-bugs@itcorp.com".  If you're not sure which address to
  181.     use, send your report to "ispell-bugs@itcorp.com" and I'll sort it
  182.     out from there.
  183.  
  184.     Bugs in add-on packages (found in the "addons" subdirectory)
  185.     should not be sent to itcorp.com.  Instead, send reports to the
  186.     developers of those packages (see the README file for the package
  187.     you are using).
  188.  
  189. Where Do I Get Dictionaries?
  190.  
  191.     Ispell comes with American and British dictionaries.  For other
  192.     languages, consult the file "languages/Where", which lists
  193.     everything I know about.  If you create a dictionary of your own
  194.     and make it available for ftp, please send a notification to
  195.     ispell-bugs@itcorp.com so that I can add your dictionary to the ftp
  196.     list.
  197.  
  198. How Long Does It Take to Make Dictionaries?
  199.  
  200.     The following tables give approximate timings and peak disk usage
  201.     for making each of the three augmented English dictionaries (the
  202.     so-called "plus" versions).  The timings were collected on an
  203.     unloaded 68040.  Your mileage may vary.
  204.  
  205.     Using EXTRADICT=/usr/dict/words:
  206.  
  207.             Time to build    Peak temp space    Final size
  208.  
  209.     english.sml+    30 minutes    7.1M        306K
  210.     english.med+    35 minutes    8.8M        359K
  211.     english.lrg+    60 minutes    10.7M        680K
  212.  
  213.     Using EXTRADICT=/usr/dict/words and /usr/dict/web2:
  214.  
  215.             Time to build    Peak temp space    Final size
  216.  
  217.     english.sml+    2-1/2 hours    19.5M        2243K
  218.     english.med+    2-1/2 hours    19.6M        2265K
  219.     english.lrg+    3 hours        20.7M        2347K
  220.  
  221.     The peak disk usage occurs fairly early in the munching process.
  222.     When creating english.lrg+ with /usr/dict/web2, the peak was
  223.     reached within 30 minutes.  When web2 was omitted, the peak was
  224.     always reached within 1/4 of the total running time of munchlist.
  225.     Again, remember that these times will vary depending on your load
  226.     and your machine's power.
  227.  
  228. Special Installation Notes for Certain Machines:
  229.  
  230.     Although I have tried to avoid putting in specific machine
  231.     dependencies as a general rule, some machine-specific #defines
  232.     will be found at the end of config.X.
  233.  
  234.     If you get lots of warnings when compiling term.c, check to be
  235.     sure that you have correctly defined SIGNAL_TYPE in your local.h.
  236.  
  237.     Some versions of ISC Unix have TIOCGWINSZ defined even though it's
  238.     not supported and the necessary structures are not present.  The
  239.     solution is to add "#undef TIOCGWINSZ" in your local.h.
  240.  
  241.     Under ISC (Solaris) Unix System V.3, you may have to add includes
  242.     of <sys/stream.h> and <sys/ptem.h> to your local.h to get around
  243.     compilation problems in term.c.
  244.  
  245.     Some versions of SCO Unix define "struct winsize" conditionally.
  246.     The solution is to add "#define _IBCS2" in your local.h.
  247.  
  248.     Some versions of SCO Unix define "struct winsize" in a weird
  249.     place.  Add #includes of <sys/stream.h> and <sys/ptem.h> to your
  250.     local.h to get around this.
  251.  
  252.     Suns running 4.1.1 also have a bug in sort which causes core dumps
  253.     when running munchlist.  Sun users who have the System 5 option
  254.     can work around this bug by making sure that /usr/5bin precedes
  255.     /usr/bin in their path, so that /usr/5bin/sort is used by
  256.     munchlist.
  257.  
  258.     It is reported that some older versions of gnu sort do not
  259.     recognize the -T option.  (However, as of textutils 1.9 it does.)
  260.     Define SORTTMP and MAKE_SORTTMP as the null string ("") if you use
  261.     gnu sort, or change your path to use the manufacturer's sort
  262.     command (but watch out for Sun's sort bug, above!).
  263.  
  264.     Some versions of gcc for the Sparc have an optimizer bug that
  265.     causes problems for languages that use 8-bit characters.  The
  266.     solution is to turn off optimization when compiling at least
  267.     makedent.c, or for all of ispell.  The bug is known to exist in
  268.     gcc 2.4.5, and is known to have been fixed in gcc 2.5.8.
  269.  
  270.     There is a report that on Solaris 2.3 for the sparc, buildhash may
  271.     core dump.  The cure is to use "bison -y" instead of yacc.
  272.  
  273.     On SunOS 4.1.3 using Sun's SPARCompiler C2.0.1, you may have to
  274.     select static linking (-Bstatic option in CFLAGS).
  275.  
  276.     The AIX RS6000 should use -lcurses for TERMLIB, rather than -ltermcap.
  277.  
  278.     Amiga users will need to #define fork vfork.  Other than this,
  279.     ispell should compile using gcc on the Amiga.
  280.  
  281.     There have been reports that some BSD releases don't properly
  282.     declare "extern int errno" in errno.h.  If you suffer from this
  283.     problem, you'll have to add your own declaration in your local.h.
  284.  
  285.     There are known problems on Ultrix with the interaction between
  286.     ispell and some versions of elm on Ultrix.  You may be able to fix
  287.     this by making sure USG is undefined, or you may have to make more
  288.     extensive changes to term.c to cause it to use the "termios"
  289.     interface instead of the "termio" one.
  290.  
  291.     The DEC Alpha and Cray have 64-bit longs.  Make sure you define
  292.     MASKTYPE_WIDTH as 64 for these machines.
  293.  
  294.     Some versions of the DEC Alpha compiler may compile ispell
  295.     incorrectly.  The cure is to turn optimization off and compile
  296.     with the -g switch.  The symptoms are segmentation faults and
  297.     garbage characters in the ~/.ispell_english file.  If you get this
  298.     symptom, be sure to clean out the garbage before you rerun ispell
  299.     or recompiling won't help.
  300.  
  301.     Some versions of "uniq" on the DEC Alpha, OSF/1 2.x, generate
  302.     garbage output if given null input, causing munchlist to loop
  303.     forever.  This can by checked by running "uniq < /dev/null | wc
  304.     -c", which ought print zero.  If it does not, you'll have to use
  305.     GNU uniq (from textutils/1.11) instead, or upgrade to OSF/1 3.0
  306.     which does not have the bug.
  307.  
  308.     DEC OSF/1 keeps the extra dictionary in a wierd place.  Set
  309.     EXTRADICT to /usr/share/dict/words.
  310.  
  311.     HP systems will need C compiler patch PHSS_3015 to compile ispell
  312.     correctly, bringing the revision to A.09.34 or higher.  The
  313.     symptom of the wrong compiler is incorrect highlighting of
  314.     misspelled words.  Gcc will also compile ispell correctly on HP
  315.     systems.
  316.     
  317.     I have a report that on HP systems 300-400, you must use either
  318.     gcc or the non-ansi CCFLAG ("cc +o2"), at least for the ispell.c
  319.     source.  However, it is possible that this problem has been
  320.     corrected by a bug fix to term.c.  I'd be interested in hearing
  321.     whether the report is still true.
  322.  
  323.     Some "internationalized" Unixes (HP, for instance) vary the
  324.     behavior of sort(1) based on an environment variable such as LANG
  325.     or LOCALE.  The symptom is that munchlist does not produce an
  326.     optimal dictionary.  Munchlist tries to protect against this by
  327.     setting LANG and LOCALE to "C", but if your system uses different
  328.     environment variables, you may have to do this by hand.
  329.  
  330.     If you get core dumps from the sort command (reported on HP
  331.     systems building large German dictionaries), try adding the "-y"
  332.     flag to the appropriate invocation of sort in the Makefile or in
  333.     munchlist.  This flag is only available on some systems.
  334.  
  335.     SGI Irix systems store /usr/dict/words in /usr/lib/dict.  If you
  336.     get errors compiling with Irix 4.0.5 or others, try defining
  337.     __STDC__ in local.h, to get around problems caused by the fact
  338.     that the compiler accepts prototypes but doesn't define __STDC__.
  339.  
  340.     Some BSDI systems have a screwy sort command that uses
  341.     -T to specify the record (as opposed to field) delimiter.  You'll
  342.     have to disable SORTTMP and enable MAKE_SORTTMP.  You'll also have
  343.     to be sure that /usr/tmp has lots and lots of free space.
  344.  
  345. What About Ispell for MS-DOS?
  346.  
  347.     Although ispell is not officially supported on MS-DOS, there are a
  348.     couple of #defines that you might find useful if you want to do
  349.     such a thing.  Check the end of config.X.  Several people have
  350.     reported success building DOS versions using emx/gcc.  Others have
  351.     used the djgpp package, with bison replacing yacc.  Some places to
  352.     look for a DOS ispell if you have an x86:
  353.  
  354.     ftp.cdrom.com:pub/os2/unix/isp3009b.zip.
  355.     or
  356.     ftp-os2.cdrom.com:pub/os2/2_x/unix/
  357.  
  358.     There is also a program named jspell, which is an ispell
  359.     lookalike.  Look on ftp.tex.ac.uk, in the directory
  360.     pub/archive/support/jspell.
  361.